package com.ruoyi.business.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 *  系统级组件(原子组件)对象 
 * 
 * @author ruoyi
 * @date 2025-11-18
 */
public class SysComponent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**
     * 组件id
     */
    @Excel(name = "组件id")
    private  Long  componentId;
    /**
     * 组编码
     */
    @Excel(name = "组编码")
    private  String  groupCode;
    /**
     * 功能描述
     */
    @Excel(name = "功能描述")
    private  String  functionDesc;
    /**
     * 类名
     */
    @Excel(name = "类名")
    private  String  componentType;
    /**
     * 组件名
     */
    @Excel(name = "组件名")
    private  String  componentName;
    /**
     * 组件图标url
     */
    @Excel(name = "组件图标url")
    private  String  componentIconUrl;
    /**
     * 状态：01--启用，02--禁用
     */
    @Excel(name = "状态：01--启用，02--禁用")
    private  String  status;
    /**
     * 排序号
     */
    @Excel(name = "排序号")
    private  Integer  sortNumber;

    /**
     * 获取组件id 
     * @return 组件id
     */
    public  Long  getComponentId(){
        return componentId;
    }
    /**
     * 设置组件id
     * @param componentId 组件id
     */
    public  void  setComponentId(Long componentId){
        this.componentId = componentId;
    }
    /**
     * 获取组编码 
     * @return 组编码
     */
    public  String  getGroupCode(){
        return groupCode;
    }
    /**
     * 设置组编码
     * @param groupCode 组编码
     */
    public  void  setGroupCode(String groupCode){
        this.groupCode = groupCode;
    }
    /**
     * 获取功能描述 
     * @return 功能描述
     */
    public  String  getFunctionDesc(){
        return functionDesc;
    }
    /**
     * 设置功能描述
     * @param functionDesc 功能描述
     */
    public  void  setFunctionDesc(String functionDesc){
        this.functionDesc = functionDesc;
    }
    /**
     * 获取组件类型 
     * @return 组件类型
     */
    public  String  getComponentType(){
        return componentType;
    }
    /**
     * 设置组件类型
     * @param componentType 组件类型
     */
    public  void  setComponentType(String componentType){
        this.componentType = componentType;
    }
    /**
     * 获取组件名 
     * @return 组件名
     */
    public  String  getComponentName(){
        return componentName;
    }
    /**
     * 设置组件名
     * @param componentName 组件名
     */
    public  void  setComponentName(String componentName){
        this.componentName = componentName;
    }
    /**
     * 获取组件图标url 
     * @return 组件图标url
     */
    public  String  getComponentIconUrl(){
        return componentIconUrl;
    }
    /**
     * 设置组件图标url
     * @param componentIconUrl 组件图标url
     */
    public  void  setComponentIconUrl(String componentIconUrl){
        this.componentIconUrl = componentIconUrl;
    }
    /**
     * 获取状态 
     * @return 状态
     */
    public  String  getStatus(){
        return status;
    }
    /**
     * 设置状态
     * @param status 状态
     */
    public  void  setStatus(String status){
        this.status = status;
    }
    /**
     * 获取排序号 
     * @return 排序号
     */
    public  Integer  getSortNumber(){
        return sortNumber;
    }
    /**
     * 设置排序号
     * @param sortNumber 排序号
     */
    public  void  setSortNumber(Integer sortNumber){
        this.sortNumber = sortNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("componentId", getComponentId())
            .append("groupCode", getGroupCode())
            .append("functionDesc", getFunctionDesc())
            .append("componentType", getComponentType())
            .append("componentName", getComponentName())
            .append("componentIconUrl", getComponentIconUrl())
            .append("remark", getRemark())
            .append("status", getStatus())
            .append("sortNumber", getSortNumber())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
